package com.ruoyi.ai.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 次数变更流水视图对象 wx_num_change
 *
 * @author yh
 * @date 2024-04-11
 */
@Data
@ExcelIgnoreUnannotated
public class WxNumChangeVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 变更记录id
     */
    @ExcelProperty(value = "变更记录id")
    private Long changeId;

    /**
     * 微信用户id
     */
    @ExcelProperty(value = "微信用户id")
    private Long wxUserId;

    /**
     * 变更类型
     */
    @ExcelProperty(value = "变更类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "num_change_type")
    private Integer changeType;

    /**
     * 业务类型
     */
    @ExcelProperty(value = "业务类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "change_biz_type")
    private Integer bizType;

    /**
     * 业务id
     */
    @ExcelProperty(value = "业务id")
    private Long bizId;

    /**
     * 变更数量
     */
    @ExcelProperty(value = "变更数量")
    private Integer changeNum;

    /**
     * 剩余数量
     */
    @ExcelProperty(value = "剩余数量")
    private Integer remainingNum;

    /**
     * 变更时间
     */
    @ExcelProperty(value = "变更时间")
    private Date changeTime;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 用户来源
     * @see com.ruoyi.common.enums.UserType
     */
    private String userType;

}
